﻿using Stimulus360.Models.Data;
using System.Collections.Generic;
using Stimulus360.Models.Data.CustomTypes;
namespace Stimulus360.Controllers.Users
{
    /// <summary>
    ///     Class represents the User profile view model
    /// </summary>
    public class UserProfileViewModel
    {
        /// <summary>
        ///     Profile of a user
        /// </summary>
        public UserProfile User { get; set; }

        /// <summary>
        ///     List of user interests
        /// </summary>
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification ="Property needs to be set in the controllers")]
        public ICollection<InvestmentCategorySummary> UserInterests { get; set; }

        /// <summary>
        ///     List of interest exist in the application
        /// </summary>
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification ="Property needs to be set in the controllers")]
        public ICollection<InvestmentCategorySummary> InvestmentCategories { get; set; }

        /// <summary>
        ///     Minimum length of the password
        /// </summary>
        public int MinPasswordLength { get; set; }

        /// <summary>
        ///     String representation of pipe seperated cateogry id's 
        /// </summary>
        public string CategoryIds { get; set; }
    }
}
